// 导入Pinia库中的defineStore函数，用于创建状态管理store
import { defineStore } from "pinia";
import { ref } from "vue";

function initState() {
  return {
    isCollapse: false,
  };
  // 通常在这里定义并返回初始状态对象
  // 示例：return { count: 0, user: null }
}

// 使用Pinia的组合式API（Composition API）风格定义store
export const useAllDataStore = defineStore(
  "allData",  // store的唯一标识符，用于Devtools和跨store通信
  () => {     // 组合式setup函数，定义store内容
    
    // 创建响应式状态引用，通过initState函数获取初始值
    const state = ref(initState());
    // 注意：state是一个ref对象，访问时需要.value
    // 但在模板中会自动解包，无需.value

    // 返回store中需要暴露的状态和方法
    return {
      state,  // 暴露整个状态树供组件使用
    };
  }
);